<?php
class Default_Model_QuanHuyenMapper {
	
	protected $_dbTable;
	
	public function setDbTable($dbTable) {
        if (is_string($dbTable)) {
            $dbTable = new $dbTable();
        }
        if (!$dbTable instanceof Zend_Db_Table_Abstract) {
            throw new Exception('Invalid table data gateway provided');
        }
        $this->_dbTable = $dbTable;
        return $this;
    }

    public function getDbTable() {
        if (null === $this->_dbTable) {
            $this->setDbTable('Default_Model_DbTable_QuanHuyen');
        }
        return $this->_dbTable;
    }

    public function fetchAll($query = null) {
    	if ($query === NULL) {
			$resultSet = $this->getDbTable()->fetchAll();
		} else {
			$table = $this->getDbTable();
			$select = $table->select();
			$select->from($table)->where($query);
			$resultSet = $this->getDbTable()->fetchAll($select);
		}
        return $this->processResultSet($resultSet->toArray());
    }

    private function processResultSet($resultSet) {
        $entries = array();
        foreach ($resultSet as $row) {
            $entry = new Default_Model_TableColumn_QuanHuyen($row);
            $entries[] = $entry;
        }
        return $entries;
    }
}